HOME/Articles/

2017-5-23 一个逗号(,)引起的BUG

Article Outline

昨天工作,突然发现之前好好的list,在赋值给新变量后居然类型变了,一个好好的list几分钟不见妥妥的叛变了,变成了tuple,由此,一场闹剧开始上演...

<!-- more -->

前情回要:

话说有一个类对象内有一方法如下:

def call_frequency(self, data):
    ...
    return list

返回的是一个list,内部是一个个dict,结构如下:

[{xx:xxx,xx:xxx},{xx:xxx,},{x:xxx},...]

闹剧上演:

ok,开始今天任务,开始在另一方法中调用赋值:

data_list = self.call_frequency(data)

结果print data_list,返回值如下:

([{xx:xxx,xx:xxx},{xx:xxx,},{x:xxx},...],)

what a fxxk,瞬间,凌乱了,还以为发现新天地了,啊!原来,list赋值后会变成tuple,加个马甲,以前怎么没发现呢... 还自以为是的在调用data_list时,如下:

call_tel_list = [v.get("call_tel","") for v in data_list[0]]

惊天逆转

晚上,回家,比较得意,欸,又学到一招,不错哟,积蓄,努力。

8小时后,天亮了:

data_list = self.call_frequency(data),

咦,这里怎么有个逗号?

瞬间,懵逼...

四下瞅瞅,

然后,按下←,整个世界清静了,再悄悄把昨天的杰作恢复本来面目,

嗯,今天,天气真好。

真的!

<blockquote class="blockquote-center">完</blockquote>